// 引入 mixin.js
const mixin = require('../../mixin')


Component({
  behaviors: [mixin],

  options: {
    // 开启多个插槽
    multipleSlots: true,
  },

  /**
   * 组件的属性列表
   */
  properties: {
    // 属性的类型可以为 String Number Boolean Object Array 其一，也可以为 null 表示不限制类型。
    changeAge: null,

    obj: Object,

    info: {
      type: Object,
      value: {
        name: 'hello'
      },
      observer(newVal, oldVal) {
        console.log('info 改变了1', newVal, oldVal)
      }
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    age: 10,
  },


  observers: {
    name(newVal, oldVal) {
      console.log('name 修改了', newVal, oldVal)
    },
    info(newVal) {
      console.log('info 修改了2', newVal)
    }
  },

  /**
   * 组件的方法列表
   */
  methods: {
    fn1() {
      // this.changeAge() // undeinfed
      // console.log(this)
      // this.properties.changeAge()
      // console.log(this.data.changeAge)

      // this.data.obj.fn()

      this.setData({
        // info: {
        //   name: 'world'
        // }
        'info.name': 'world'
      })
    }
  },

  created() {

  },

  lifetimes: {
    
  
    attached() {
  
    },
  
    detached() {
  
    },
  },

  pageLifetimes: {
    show() {
      console.log('页面的 show')
    },

    hide() {
      console.log('页面的 hide')
    }
  }
})
